from django.shortcuts import render,redirect
#导包
from django.http import HttpResponse,HttpResponseRedirect,JsonResponse
#导入类视图
from django.views import View

#from myapp.models import User
import json
from django.core.serializers import serialize
from rest_framework.response import Response
from rest_framework.views import APIView
#导入加密库
import hashlib
#导入图片库
#绘画库
from PIL import ImageDraw
#字体库
from PIL import ImageFont
#图片库
from PIL import Image
#随机库
import random
#文件流
import io

import requests

#导入上传文件夹配置
from mydjango.settings import UPLOAD_ROOT
import os

#导入原生sql模块
from django.db import connection

import jwt

#导入redis数据库
import redis

#导入时间模块
import time

#导入公共目录变量
from mydjango.settings import BASE_DIR

#导包
from django.db.models import Q,F

#导入dwebsocket的库
from dwebsocket.decorators import accept_websocket
import uuid

#引入密钥
app_private_key_string = os.path.join(BASE_DIR,"keys/app_private_2048.txt")
alipay_public_key_string = os.path.join(BASE_DIR,"keys/alipay_public_2048.txt")

from mydjango.pay import AliPay


#建立支付实例
def get_ali_object():

	app_id = "2016092600603658"  #  APPID （沙箱应用）
	# 支付完成后，跳转的地址。
	return_url = "http://localhost:8000/testpay/"
	alipay = AliPay(
	    appid=app_id,
	    app_notify_url=return_url,
	    return_url=return_url,
	    app_private_key_path=app_private_key_string,
	    alipay_public_key_path=alipay_public_key_string,  # 支付宝的公钥，验证支付宝回传消息使用，不是你自己的公钥
	    debug=True,  # 默认False,
	)
	return alipay

#支付跳转视图
def pay_url(request):

	alipay = get_ali_object()

	# 生成支付的url
	query_params = alipay.direct_pay(
	    subject="test",  # 商品简单描述
	    out_trade_no="myorder" + str(time.time()),
	    total_amount = 10.00,  # 交易金额(单位: 元 保留俩位小数)
	)

	pay_url = "https://openapi.alipaydev.com/gateway.do?{0}".format(query_params)  # 支付宝网关地址（沙箱应用）

	return redirect(pay_url)


from django.db import transaction

#方法视图
def myindex(request):

	return HttpResponse("你好啊，这里是在线教育平台")


